package com.placement.app.dao;

import java.util.ArrayList;
import java.util.HashMap;

import com.placement.app.model.Address;
import com.placement.app.model.ZipLocation;

/**
 * This interface will be used to load all available zipcodes 
 * and city and states and to verify if city and state is valid state
 * @author ns_nagar
 *
 */
public interface LocationHelperDAO {
	public HashMap<String, String> loadStates();
	
	public ArrayList<Long> loadZipcodes();

	/**
	 * This method accepts City and state of US and returns 
	 * zip code
	 * TODO Need to figure out which one to use if there are more 
	 * then one zip codes assigned to city
	 * @param address
	 * @return
	 */
	public ZipLocation getZipCode(Address address);

	/**
	 * This method accepts zipcode and returns ZipLocation Object
	 * That will be used to get ranged zip codes
	 * @param location
	 */
	public ZipLocation getZiplocationByCode(Long location);
}
